package com.md.rps.mybatis.interfaces;

import com.md.rps.mybatis.model.REGISTER;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface I_REGISTER {
    /**
     * 根据科室查看挂号列表，根据医生ID排序
     * @param deptId
     * @return
     */
    List<REGISTER> getRegisterByDept(int deptId);

    // 查看医生名下挂号信息，根据预约时间，时段
    List<REGISTER> getRegisterByDocId(@Param("doctorId") int doctorId,
                                      @Param("time") String time,
                                      @Param("timeOfDay") int timeOfDay);

    // 用户查看自己挂的号
    List<REGISTER> getUserRegister(int userId);

    // 查看用户在当前时段是否已经挂过号
    Integer isRegisted(@Param("doctorId") int doctorId, @Param("userId") int userId,
                        @Param("time") String time,
                        @Param("timeOfDay") int timeOfDay);

    // 查看当前等待人数
    Integer getMaxOrder(@Param("doctorId") int doctorId,
                    @Param("time") String time,
                    @Param("timeOfDay") int timeOfDay);

    // 过号后改变状态
    Integer called(int id);

    // 挂号
    Integer addRegister(REGISTER register);

    // 重新激活挂号状态，重新排队
    Integer reCall(@Param("id") int id, @Param("newOrder") int newOrder);



}
